The Internet confers many benefits due to its connectivity. Users are able to access public content from any web-enabled computer. People throughout the world are able to interact one-on-one and in groups. Businesses are able to market their goods for minimal costs. Employees are able to tap into their employers' networks to work outside the office. These benefits are just some examples of why the Internet has been almost universally embraced.
As the Internet continues to expand, new applications are being discovered. Storage area networks are being equipped with switches and storage controllers that have embedded web-based management utilities. Such devices (“target” devices) are accessible using Internet Protocol (IP) communications, allowing a user to configure and review the operation of the target devices via a conventional web browser. Proposals have even been made to connect home control systems and even home appliances to the Internet using such embedded web-based management utilities.
Constraints for such devices are expected to include memory and processor power. Processors built in to target devices are expected to be inexpensive (i.e., to have limited processing power) and to have most of their processing power devoted to coordinating device operation. Memory is also expected to be limited. Visually complex web-based interfaces generally manifest themselves as large files and/or a large number of files that need to be transferred by the utility to the user's web browser. Due to the limited resources available to the utility, such transfers may take an unreasonable amount of time to complete, testing the user's patience if many such transfers are needed.
Conventional web browsers offer caching of web pages, so that repeated downloads of a given file may be avoided. When caching is enabled, a web browser downloads a given file once and stores it in a cache, giving the cached file an expiration date. Subsequent accesses to the file, so long as they occur before the expiration date, are satisfied by retrieving the file from cache rather than downloading the file again.
However, caching creates a potential problem when, e.g., a web-based management utility is updated. Depending on the caching policy employed, the utility may continue to use out-of-date files, rendering the update ineffective, or may fail to operate properly because the browser employs a mix of old and new files. Various solutions to this dilemma exist that involve a tradeoff in performance vs. update risk.